mysql自增属性说明和mysql SHOW语句说明
Contents
- 1. Introduction
- 2. (一) AUTO_INCREMENT说明:
- 2.1. 1.指定的自增列,即指定了AUTO_INCREMENT的列必需建立索引。索引可以是主键索引,也可以是非主键索引;
- 2.2. 2.插入新记录,如果为AUTO_INCREMENT字段明确指定了一个数值;或者使用语句ALTER TABLE tableb AUTO_INCREMENT=20;重置AUTO_INCREMENT时;会出现两种情况:
- 2.3. 3.被DELETE语句删除的id值,以后可以强制插入,但是不会影响自增的过程;
- 2.4. 4.DELETE FROM table_name语句执行后,不会引起AUTO_INCREMENT的变化
- 2.5. 5.重置AUTO_INCREMENT的值需要使用TRUNCATE TABLE table_name,注意,此操作会删除所有数据。
- 3. (二) Mysql实现id奇数或偶数,或者自定义(auto_increment_increment &auto_increment_offset 说明)
- 4. (三) MYSQL SHOW 语句说明:
Introduction
本文对Mysql下的auto_increment进行说明|Mysql中怎样建立奇偶ID|对mysql中的show语句进行简单介绍
本文参考来自那些事儿
(一) AUTO_INCREMENT
说明:
1.指定的自增列,即指定了AUTO_INCREMENT
的列必需建立索引。索引可以是主键索引,也可以是非主键索引;
2.插入新记录,如果为AUTO_INCREMENT
字段明确指定了一个数值;或者使用语句ALTER TABLE tableb AUTO_INCREMENT=20;
重置AUTO_INCREMENT
时;会出现两种情况:
(1)如果插入的值与已有的编号重复,则会出现错误信息,因为AUTO_INCREMENT数据列的值必须是唯一的;
(2)如果插入的值大于已编号的值,则会把该插入到数据列中,并且下一个编号将从这个新值开始递增。
3.被DELETE
语句删除的id
值,以后可以强制插入,但是不会影响自增的过程;
4.DELETE FROM table_name
语句执行后,不会引起AUTO_INCREMENT
的变化
5.重置AUTO_INCREMENT
的值需要使用TRUNCATE TABLE table_name
,注意,此操作会删除所有数据。
(二) Mysql实现id奇数或偶数,或者自定义(auto_increment_increment
&auto_increment_offset
说明)
1.含义:
1 | auto_increment_increment:自增数量 |
2.例子:
1 | auto_increment_offset=5 |
3.查看当前参数值。
1 | show variables like '%auto_increment%'; |
该命令默认查看当前session中的值。等同于以下语句:1
2
3
4
5show variables like '%auto_increment%';
```
查看全局设置的值为:
``` bash
show global variables like '%auto_increment%';
4.设置参数值:
修改配置文件,重启即可。
命令1
2set global auto_increment_increment=2;
set global auto_increment_offset=2;
该命令执行后,如需查看参数变化,需要重新连接。
当然也可以设置当前session有效的参数值,命令为1
2set session auto_increment_increment=2;
set session auto_increment_offset=2;
(三) MYSQL SHOW 语句说明:
查看创建表的语句:1
SHOW CREATE TABLE table_name;